package cn.edu.lsu.integratedsurvey.service;

import cn.edu.lsu.integratedsurvey.bean.Student;
import cn.edu.lsu.integratedsurvey.bean.dto.StudentRegisterDto;
import cn.edu.lsu.integratedsurvey.bean.vo.StudentInfoVo;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.List;

/**
 * @author Jasmine-drs
 * @description 针对表【student(学生表)】的数据库操作Service
 * @Date 2024-05-01 10:12:36
 */
public interface StudentService extends IService<Student> {
	/**
	 * 根据学号搜索学生
	 *
	 * @param studentNumber 学号
	 * @return 学生信息
	 */
	StudentInfoVo getStudentByStudentNumber(String studentNumber);

	/**
	 * 根据学号、姓名搜索学生
	 *
	 * @param keyword 关键字
	 * @return 学生信息列表
	 */
	List<StudentInfoVo> getStudentByKeyword(String keyword);

	/**
	 * 新增学生，默认密码为学号，需要root权限
	 *
	 * @param studentRegisterDto 学生信息
	 * @param id                 root id
	 */
	void register(StudentRegisterDto studentRegisterDto, Integer id);

	/**
	 * 批量新增学生
	 *
	 * @param studentRegisterDtoList 学生信息
	 * @param operatorId             操作员id
	 */
	void addBatch(List<StudentRegisterDto> studentRegisterDtoList, Integer operatorId);

	Page<StudentInfoVo> searchStudent(String keyword, Integer pageNumber, Integer pageSize);

    String getName(String studentNumber);

    void deleteHistory(Integer id);
}
